/* Copyright (c) 2003 The Nutch Organization. All rights reserved. */
/* Use subject to the conditions in http://www.nutch.org/LICENSE.txt. */
package net.nutch.net;
import net.nutch.util.*;
import java.util.logging.*;
/** Factory to create a URLFilter from "urlfilter.class" config property. */
public class URLFilterFactory {
private static final Logger LOG =
LogFormatter.getLogger("net.nutch.net.URLFilterFactory");
private static final String URLFILTER_CLASS =
NutchConf.get("urlfilter.class");
private URLFilterFactory() {} // no public ctor
private static URLFilter filter;
/** Return the default URLFilter implementation. */
public static URLFilter getFilter() {
if (filter == null) {
try {
LOG.info("Using URL filter: " + URLFILTER_CLASS);
Class filterClass = Class.forName(URLFILTER_CLASS);
filter = (URLFilter)filterClass.newInstance();
} catch (Exception e) {
throw new RuntimeException("Couldn't create "+URLFILTER_CLASS, e);
}
}
return filter;
}
}